<?php

class Jnd_Controller_Action extends Zend_Controller_Action
{
    
    /*
     * fonction permettant la redirection en conservant l'assembleur d'url.
     * Génération d'url conforme au routeur spécifié.
     */
    public function redirect ($action, $controller = null, $module = null, 
            $params = array())
    {
        $this->_helper->redirector($action, $controller, $module, $params);
    }

    /**
     *
     *
     * Cette focntion permet de re-router une action sans encoder l'url afin de
     * pouvoir renvoyer une URL avec ancre.
     *
     * @param string $action            
     * @param string $controller            
     * @param string $module            
     * @param string $params            
     */
    public function redirectAnchor ($action, $controller = null, $module = null, 
            $params = array())
    {
        $helper = $this->getHelper("Redirector");
        $params['controller'] = $controller;
        $params['action'] = $action;
        $params['module'] = $module;
        $helper->gotoRoute($params, null, false, false);
    }

    public function getConfig ($param)
    {
        return Jnd_App::getConfig($param);
    }
    // public function init() {
    //
    // }
    
    /**
     * Fonction permettant de désactiver le rendu d'une action d'un controller.
     */
    protected function desactivationRendu ()
    {
        $this->_helper->layout()->disableLayout();
        $this->_helper->viewRenderer->setNoRender();
    }
    
    /**
     * Permet de changer le script de rendu du controller.
     * Le nom du script ne doit pas contenir le .phtml ni la racine correspondant au controller.
     * @param string $script
     */
    public function changerScript( $script )
    {
        $this->getHelper("ViewRenderer")->setScriptAction($script);
    }
    
    /**
     * Permet de rajouter le chemin des vues d'un module dans la liste des recherche lors du render.
     * @param string $path
     */
    public function changerScriptPathModule( $module ) {
        $this->view->addBasePath( APPLICATION_PATH . '/modules/' . $module . '/views');
    }
    /**
     *
     * Enter description here ...
     * @param unknown_type $layout
     */
    public function changerLayout($layout) {
        $this->getHelper("Layout")->setLayout($layout);
    }

    /**
     * Fonction permettant de modifier les valeurs de colonnes du Dtagrid.
     *
     * @param $row Array
     *            (model to Array)
     * @param $view unknown_type            
     */
    public function _transformRowsCallback (&$row, $view)
    {}
}
